home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
cocktail
/
y2l.lha
/
y2l
/
Scanner.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-08-20
|
59KB
|
3,912 lines
/* $Id: Scanner.c,v 2.16 1992/08/18 09:05:32 grosch rel grosch $ */
# define bool char
# define true 1
# define false 0
# define StdIn 0
# include "Scanner.h"
# include "Source.h"
# include "System.h"
# include "General.h"
# include "DynArray.h"
# include "Positions.h"
# include <stdio.h>
# if defined __STDC__ | defined __cplusplus
# include <stdlib.h>
# else
/* extern char * malloc ();
extern void free (); */
# endif
# define yyTabSpace 8
# define yyStart(State) { yyPreviousStart = yyStartState; yyStartState = State; }
# define yyPrevious { yyStateRange s = yyStartState; \
yyStartState = yyPreviousStart; yyPreviousStart = s; }
# define yyEcho { char * yyEnd = TokenPtr + TokenLength; \
char yyCh = * yyEnd; * yyEnd = '\0'; \
(void) fputs (TokenPtr, stdout); * yyEnd = yyCh; }
# define yyLess(n) { yyChBufferIndex -= TokenLength - n; TokenLength = n; }
# define yyTab yyLineStart -= yyTabSpace - 1 - ((unsigned char *) TokenPtr - yyLineStart - 1) % yyTabSpace
# define yyTab1(a) yyLineStart -= yyTabSpace - 1 - ((unsigned char *) TokenPtr - yyLineStart + a - 1) % yyTabSpace
# define yyTab2(a,b) yyLineStart -= yyTabSpace - 1 - ((unsigned char *) TokenPtr - yyLineStart + a - 1) % yyTabSpace
# define yyEol(Column) { yyLineCount ++; yyLineStart = yyChBufferIndex - 1 - Column; }
# define output(c) (void) putchar ((int) c)
# define unput(c) * (-- yyChBufferIndex) = c
# define yyDNoState 0
# define yyFileStackSize 16
# define yyInitBufferSize 1024 * 8 + 256
# define yyFirstCh (unsigned char) '\0'
# define yyLastCh (unsigned char) '\177'
# define yyEolCh (unsigned char) '\12'
# define yyEobCh (unsigned char) '\177'
# define yyDStateCount 153
# define yyTableSize 2422
# define yyEobState 60
# define yyDefaultState 61
# define STD 1
# define Code 3
# define Union 5
# define RulePart 7
# define Action 9
# define String1 11
# define String2 13
# define Comment 15
# define SubPart 17
static void yyExit () { Exit (1); }
typedef unsigned short yyStateRange;
typedef struct { yyStateRange yyCheck, yyNext; } yyCombType;
char * TokenPtr ;
short TokenLength ;
tScanAttribute Attribute ;
void (* Scanner_Exit) () = yyExit;
static yyCombType yyComb [yyTableSize + 1] = {{1, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{1, 65},
{1, 62},
{0, 0},
{1, 30},
{1, 30},
{0, 0},
{11, 69},
{11, 63},
{13, 70},
{13, 64},
{0, 0},
{17, 72},
{17, 82},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{1, 73},
{31, 31},
{0, 0},
{0, 0},
{0, 0},
{1, 108},
{11, 78},
{1, 55},
{13, 79},
{53, 52},
{13, 94},
{17, 81},
{1, 103},
{11, 96},
{41, 91},
{1, 92},
{1, 29},
{1, 29},
{1, 29},
{1, 29},
{1, 29},
{1, 29},
{1, 29},
{1, 29},
{1, 29},
{1, 29},
{1, 100},
{1, 101},
{1, 105},
{24, 25},
{1, 104},
{15, 71},
{15, 90},
{39, 89},
{48, 37},
{58, 56},
{85, 86},
{92, 93},
{24, 43},
{0, 0},
{0, 0},
{24, 42},
{24, 42},
{24, 42},
{24, 42},
{24, 42},
{24, 42},
{24, 42},
{24, 42},
{24, 42},
{24, 42},
{57, 27},
{0, 0},
{24, 45},
{15, 80},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{57, 50},
{0, 0},
{0, 0},
{0, 0},
{15, 39},
{29, 29},
{29, 29},
{29, 29},
{29, 29},
{29, 29},
{29, 29},
{29, 29},
{29, 29},
{29, 29},
{29, 29},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{115, 116},
{116, 117},
{117, 118},
{118, 119},
{120, 121},
{121, 122},
{122, 123},
{1, 102},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 66},
{3, 107},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 74},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 38},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{3, 49},
{5, 67},
{5, 113},
{22, 60},
{38, 106},
{46, 46},
{46, 46},
{46, 46},
{46, 46},
{46, 46},
{46, 46},
{46, 46},
{46, 46},
{46, 46},
{46, 46},
{59, 60},
{51, 51},
{51, 51},
{123, 124},
{125, 133},
{126, 127},
{127, 128},
{129, 130},
{130, 131},
{5, 75},
{131, 132},
{133, 134},
{134, 135},
{135, 136},
{125, 126},
{7, 84},
{7, 83},
{9, 68},
{9, 88},
{52, 33},
{137, 138},
{138, 139},
{110, 111},
{139, 140},
{51, 51},
{140, 141},
{141, 142},
{142, 143},
{52, 52},
{52, 52},
{52, 52},
{52, 52},
{52, 52},
{52, 52},
{52, 52},
{52, 52},
{143, 144},
{145, 146},
{7, 76},
{51, 58},
{9, 77},
{146, 147},
{9, 95},
{7, 110},
{9, 24},
{147, 148},
{148, 149},
{9, 97},
{150, 151},
{151, 152},
{51, 35},
{152, 153},
{7, 47},
{7, 85},
{0, 0},
{9, 41},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{110, 129},
{0, 0},
{0, 0},
{5, 114},
{7, 47},
{5, 48},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 47},
{7, 99},
{0, 0},
{9, 98},
{0, 0},
{9, 87},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{0, 0},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{19, 19},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{0, 0},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{0, 0},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{20, 20},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{0, 0},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{21, 21},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{0, 0},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{23, 23},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 26},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 51},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{26, 56},
{28, 28},
{0, 0},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{28, 28},
{0, 0},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{28, 28},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{0, 0},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 33},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{33, 52},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{0, 0},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{36, 36},
{0, 0},
{36, 36},
{0, 0},
{36, 36},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{0, 0},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{0, 0},
{40, 40},
{0, 0},
{40, 40},
{40, 40},
{0, 0},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{0, 0},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{40, 40},
{0, 0},
{40, 40},
{0, 0},
{40, 40},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{0, 0},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 32},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 44},
{44, 44},
{44, 44},
{44, 44},
{44, 44},
{44, 44},
{44, 44},
{44, 44},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{44, 52},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 57},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{47, 47},
{0, 0},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{47, 47},
{0, 0},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{47, 47},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{0, 0},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{0, 0},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{49, 49},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{0, 0},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 34},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{0, 0},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{54, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{0, 0},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{0, 0},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 53},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{55, 54},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 26},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{56, 56},
{108, 112},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{108, 150},
{0, 0},
{108, 137},
{0, 0},
{108, 129},
{0, 0},
{108, 145},
{108, 120},
{108, 125},
{108, 115},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{108, 109},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
};
static yyCombType * yyBasePtr [yyDStateCount + 1] = {& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [125],
& yyComb [0],
& yyComb [243],
& yyComb [0],
& yyComb [272],
& yyComb [0],
& yyComb [274],
& yyComb [0],
& yyComb [6],
& yyComb [0],
& yyComb [8],
& yyComb [0],
& yyComb [54],
& yyComb [0],
& yyComb [11],
& yyComb [0],
& yyComb [400],
& yyComb [527],
& yyComb [654],
& yyComb [127],
& yyComb [781],
& yyComb [25],
& yyComb [0],
& yyComb [908],
& yyComb [0],
& yyComb [989],
& yyComb [49],
& yyComb [0],
& yyComb [1],
& yyComb [0],
& yyComb [1112],
& yyComb [0],
& yyComb [0],
& yyComb [1239],
& yyComb [0],
& yyComb [130],
& yyComb [18],
& yyComb [1366],
& yyComb [4],
& yyComb [59],
& yyComb [0],
& yyComb [1493],
& yyComb [1620],
& yyComb [208],
& yyComb [1701],
& yyComb [7],
& yyComb [1824],
& yyComb [0],
& yyComb [258],
& yyComb [246],
& yyComb [2],
& yyComb [1951],
& yyComb [2078],
& yyComb [2205],
& yyComb [47],
& yyComb [25],
& yyComb [139],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [26],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [27],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [2295],
& yyComb [0],
& yyComb [251],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [7],
& yyComb [13],
& yyComb [8],
& yyComb [10],
& yyComb [0],
& yyComb [5],
& yyComb [25],
& yyComb [9],
& yyComb [153],
& yyComb [0],
& yyComb [159],
& yyComb [159],
& yyComb [171],
& yyComb [0],
& yyComb [159],
& yyComb [173],
& yyComb [177],
& yyComb [0],
& yyComb [170],
& yyComb [177],
& yyComb [169],
& yyComb [0],
& yyComb [175],
& yyComb [177],
& yyComb [192],
& yyComb [176],
& yyComb [177],
& yyComb [182],
& yyComb [203],
& yyComb [0],
& yyComb [198],
& yyComb [204],
& yyComb [207],
& yyComb [196],
& yyComb [0],
& yyComb [213],
& yyComb [213],
& yyComb [201],
& yyComb [0],
};
static yyStateRange yyDefault [yyDStateCount + 1] = {0,
28,
1,
19,
3,
36,
5,
1,
7,
40,
9,
23,
11,
21,
13,
20,
15,
19,
17,
22,
22,
1,
0,
22,
22,
0,
1,
0,
22,
22,
0,
22,
33,
20,
0,
0,
22,
0,
22,
22,
22,
59,
59,
42,
59,
59,
59,
51,
59,
59,
46,
59,
44,
44,
59,
59,
59,
46,
59,
0,
0,
0,
59,
23,
21,
59,
49,
36,
40,
23,
21,
20,
19,
0,
49,
36,
31,
40,
23,
21,
20,
19,
62,
62,
65,
59,
0,
0,
62,
0,
62,
0,
59,
0,
22,
0,
22,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
62,
59,
0,
59,
0,
0,
62,
0,
59,
59,
59,
59,
0,
59,
59,
59,
59,
0,
59,
59,
59,
0,
59,
59,
59,
0,
59,
59,
59,
0,
59,
59,
59,
59,
59,
59,
59,
0,
59,
59,
59,
59,
0,
59,
59,
59,
0,
};
static yyStateRange yyEobTrans [yyDStateCount + 1] = {0,
0,
0,
49,
49,
36,
36,
0,
0,
40,
40,
23,
23,
21,
21,
20,
20,
19,
19,
19,
20,
21,
0,
23,
0,
0,
56,
0,
0,
0,
0,
0,
52,
52,
0,
0,
36,
0,
0,
0,
40,
0,
0,
0,
52,
45,
0,
0,
0,
49,
0,
0,
52,
52,
54,
54,
56,
0,
0,
0,
0,
0,
0,
23,
21,
0,
49,
36,
40,
23,
21,
20,
19,
0,
49,
36,
0,
40,
23,
21,
20,
19,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
};
static yyStateRange yyInitStateStack [yyInitBufferSize] = {0};
static yyStateRange * yyStateStack = yyInitStateStack;
static unsigned long yyStateStackSize= yyInitBufferSize;
static yyStateRange yyStartState = 0;
static yyStateRange yyPreviousStart = 1;
static short yySourceFile ;
static bool yyEof ;
static unsigned char * yyChBufferPtr ;
static unsigned char * yyChBufferStart ;
static unsigned long yyChBufferSize ;
static unsigned char * yyChBufferIndex = ((unsigned char *) yyComb) + 2; /* dirty trick */
static int yyBytesRead ;
static int yyLineCount ;
static unsigned char * yyLineStart ;
static struct {
short yySourceFile ;
bool yyEof ;
unsigned char * yyChBufferPtr ;
unsigned char * yyChBufferStart ;
unsigned long yyChBufferSize ;
unsigned char * yyChBufferIndex ;
int yyBytesRead ;
int yyLineCount ;
unsigned char * yyLineStart ;
} yyFileStack [yyFileStackSize + 1], * yyFileStackPtr = yyFileStack;
static unsigned char yyToLower [] = {
'\0', '\1', '\2', '\3', '\4', '\5', '\6', '\7',
'\10', '\11', '\12', '\13', '\14', '\15', '\16', '\17',
'\20', '\21', '\22', '\23', '\24', '\25', '\26', '\27',
'\30', '\31', '\32', '\33', '\34', '\35', '\36', '\37',
' ', '!', '"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/',
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?',
'@', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '[', '\\', ']', '^', '_',
'`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~', '\177',
'\200', '\201', '\202', '\203', '\204', '\205', '\206', '\207',
'\210', '\211', '\212', '\213', '\214', '\215', '\216', '\217',
'\220', '\221', '\222', '\223', '\224', '\225', '\226', '\227',
'\230', '\231', '\232', '\233', '\234', '\235', '\236', '\237',
'\240', '\241', '\242', '\243', '\244', '\245', '\246', '\247',
'\250', '\251', '\252', '\253', '\254', '\255', '\256', '\257',
'\260', '\261', '\262', '\263', '\264', '\265', '\266', '\267',
'\270', '\271', '\272', '\273', '\274', '\275', '\276', '\277',
'\300', '\301', '\302', '\303', '\304', '\305', '\306', '\307',
'\310', '\311', '\312', '\313', '\314', '\315', '\316', '\317',
'\320', '\321', '\322', '\323', '\324', '\325', '\326', '\327',
'\330', '\331', '\332', '\333', '\334', '\335', '\336', '\337',
'\340', '\341', '\342', '\343', '\344', '\345', '\346', '\347',
'\350', '\351', '\352', '\353', '\354', '\355', '\356', '\357',
'\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367',
'\370', '\371', '\372', '\373', '\374', '\375', '\376', '\377',
};
static unsigned char yyToUpper [] = {
'\0', '\1', '\2', '\3', '\4', '\5', '\6', '\7',
'\10', '\11', '\12', '\13', '\14', '\15', '\16', '\17',
'\20', '\21', '\22', '\23', '\24', '\25', '\26', '\27',
'\30', '\31', '\32', '\33', '\34', '\35', '\36', '\37',
' ', '!', '"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/',
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?',
'@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^', '_',
'`', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '{', '|', '}', '~', '\177',
'\200', '\201', '\202', '\203', '\204', '\205', '\206', '\207',
'\210', '\211', '\212', '\213', '\214', '\215', '\216', '\217',
'\220', '\221', '\222', '\223', '\224', '\225', '\226', '\227',
'\230', '\231', '\232', '\233', '\234', '\235', '\236', '\237',
'\240', '\241', '\242', '\243', '\244', '\245', '\246', '\247',
'\250', '\251', '\252', '\253', '\254', '\255', '\256', '\257',
'\260', '\261', '\262', '\263', '\264', '\265', '\266', '\267',
'\270', '\271', '\272', '\273', '\274', '\275', '\276', '\277',
'\300', '\301', '\302', '\303', '\304', '\305', '\306', '\307',
'\310', '\311', '\312', '\313', '\314', '\315', '\316', '\317',
'\320', '\321', '\322', '\323', '\324', '\325', '\326', '\327',
'\330', '\331', '\332', '\333', '\334', '\335', '\336', '\337',
'\340', '\341', '\342', '\343', '\344', '\345', '\346', '\347',
'\350', '\351', '\352', '\353', '\354', '\355', '\356', '\357',
'\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367',
'\370', '\371', '\372', '\373', '\374', '\375', '\376', '\377',
};
static void yyInitialize ();
static void yyErrorMessage ARGS((int yyErrorCode));
static char input ();
/* line 21 "yacc.rex" */
# include <string.h>
# define IDENT 1
# define C_IDENT 2
# define NUMBER 3
# define LEFT 4
# define RIGHT 5
# define NONASSOC 6
# define TOKEN 7
# define PREC 8
# define TYPE 9
# define START 10
# define UNION 11
# define MARK 12
# define LESS 13
# define GREATER 14
# define COMMA 15
# define BAR 16
# define LBRACE 17
# define RBRACE 18
# define SEMICOLON 19
# define COLON 20
char UNION1 [] = "\ntypedef union {";
char UNION2 [] = "} YYSTYPE;\n";
void ErrorAttribute (Token, Attribute)
int Token;
tScanAttribute *Attribute;
{
Attribute->string = 0;
}
int level = 0; /* nesting level of braces in actions */
void get_put () /* this procedure has a side-effect */
{
int l,i;
char v [256];
l = GetWord (v);
if (v [0] == '\'')
for (i = 1; v [i+1] != '\0'; i++)
if ((v [i-1] != '\\') && (v [i] == '\\') && (v [i+1] == '\''))
v [i] = '\'';
Attribute.string = PutString (v, l);
put_name (Attribute.string);
}
char v [256], w [256];
int i, l = 0;
tStringRef r;
int GetToken ()
{
register yyStateRange yyState;
register yyStateRange * yyStatePtr;
register unsigned char * yyChBufferIndexReg;
register yyCombType * * yyBasePtrReg = yyBasePtr;
yyBegin:
yyState = yyStartState; /* initialize */
yyStatePtr = & yyStateStack [1];
yyChBufferIndexReg = yyChBufferIndex;
TokenPtr = (char *) yyChBufferIndexReg;
/* ASSERT yyChBuffer [yyChBufferIndex] == first character */
yyContinue: /* continue after sentinel or skipping blanks */
for (;;) { /* execute as many state transitions as possible */
/* determine next state and get next character */
register yyCombType * yyTablePtr = (yyBasePtrReg [yyState] + * yyChBufferIndexReg ++);
if (yyTablePtr->yyCheck == yyState) {
yyState = yyTablePtr->yyNext;
* yyStatePtr ++ = yyState; /* push state */
goto yyContinue;
}
yyChBufferIndexReg --; /* reconsider character */
if ((yyState = yyDefault [yyState]) == yyDNoState) break;
}
for (;;) { /* search for last final state */
TokenLength = yyChBufferIndexReg - (unsigned char *) TokenPtr;
yyChBufferIndex = yyChBufferIndexReg;
switch (* -- yyStatePtr) {
case 35:;
while (* yyStatePtr !=
47) {
yyChBufferIndex --;
TokenLength --;
yyStatePtr --;
}
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 96 "yacc.rex" */
{ get_put (); return C_IDENT;
} yy1: goto yyBegin;
case 28:;
case 47:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 98 "yacc.rex" */
{ get_put (); return IDENT;
} yy2: goto yyBegin;
case 34:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 99 "yacc.rex" */
{ get_put ();
if (yyStartState == RulePart)
put_token (Attribute.string, 0);
return IDENT;
} yy3: goto yyBegin;
case 32:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 103 "yacc.rex" */
{ get_put ();
if (yyStartState == RulePart)
put_token (Attribute.string, 0);
return IDENT;
} yy4: goto yyBegin;
case 33:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 107 "yacc.rex" */
{ get_put ();
if (yyStartState == RulePart)
put_token (Attribute.string, 0);
return IDENT;
} yy5: goto yyBegin;
case 29:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 111 "yacc.rex" */
{ (void) GetWord (v);
Attribute.number = atoi (v);
return NUMBER;
} yy6: goto yyBegin;
case 153:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 115 "yacc.rex" */
{ return LEFT ;
} yy7: goto yyBegin;
case 149:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 116 "yacc.rex" */
{ return RIGHT ;
} yy8: goto yyBegin;
case 144:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 117 "yacc.rex" */
{ return NONASSOC ;
} yy9: goto yyBegin;
case 136:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 118 "yacc.rex" */
{ return TOKEN ;
} yy10: goto yyBegin;
case 132:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 119 "yacc.rex" */
{ return PREC ;
} yy11: goto yyBegin;
case 128:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 120 "yacc.rex" */
{ return TYPE ;
} yy12: goto yyBegin;
case 124:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 121 "yacc.rex" */
{ return START ;
} yy13: goto yyBegin;
case 119:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 123 "yacc.rex" */
{ yyStart (Union); level = 0; l = 0;
put_global (PutString (UNION1, strlen (UNION1)));
} yy14: goto yyBegin;
case 114:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 125 "yacc.rex" */
{ if (level) l += GetWord (&v [l]); level ++;
} yy15: goto yyBegin;
case 36:;
case 67:;
case 75:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 126 "yacc.rex" */
{ l += GetWord (&v [l]);
} yy16: goto yyBegin;
case 113:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 127 "yacc.rex" */
{ yyEol (0); l += GetWord (&v [l]);
put_global (PutString (v, l)); l = 0;
} yy17: goto yyBegin;
case 37:;
case 48:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 129 "yacc.rex" */
{ if (--level)
l += GetWord (&v [l]);
else {
put_global (PutString (v, l)); l = 0;
put_global (PutString (UNION2, strlen (UNION2)));
yyPrevious;
return UNION;
}
} yy18: goto yyBegin;
case 112:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 138 "yacc.rex" */
{ yyStart (RulePart); l = 0; return MARK;
} yy19: goto yyBegin;
case 111:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 139 "yacc.rex" */
{ yyStart (SubPart ); l = 0; return MARK;
} yy20: goto yyBegin;
case 109:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 141 "yacc.rex" */
{ yyStart (Code); l = 0;
} yy21: goto yyBegin;
case 38:;
case 49:;
case 66:;
case 74:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 142 "yacc.rex" */
{ l += GetWord (&v [l]);
} yy22: goto yyBegin;
case 107:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 143 "yacc.rex" */
{ yyEol (0); l += GetWord (&v [l]);
put_global (PutString (v, l)); l = 0;
} yy23: goto yyBegin;
case 106:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 145 "yacc.rex" */
{ yyPrevious; v [l++] = '\n';
put_global (PutString (v, l)); l = 0;
} yy24: goto yyBegin;
case 105:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 148 "yacc.rex" */
{ return LESS ;
} yy25: goto yyBegin;
case 104:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 149 "yacc.rex" */
{ return GREATER ;
} yy26: goto yyBegin;
case 103:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 150 "yacc.rex" */
{ return COMMA ;
} yy27: goto yyBegin;
case 102:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 151 "yacc.rex" */
{ return BAR ;
} yy28: goto yyBegin;
case 101:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 152 "yacc.rex" */
{ return SEMICOLON ;
} yy29: goto yyBegin;
case 100:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 153 "yacc.rex" */
{ return COLON ;
} yy30: goto yyBegin;
case 99:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 156 "yacc.rex" */
{ yyStart (Action);
level = 1;
action_list = 0;
l = 0; v [0] = '\0';
return LBRACE;
} yy31: goto yyBegin;
case 98:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 161 "yacc.rex" */
{ level++; v [l++] = '{';
} yy32: goto yyBegin;
case 27:;
case 46:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 164 "yacc.rex" */
{ (void) GetWord (w);
v [l++] = '$';
for (i = 2; w [i] != '>'; i++);
i++;
while (v [l++] = w [i++]);
l--;
(void) strcpy (&v [l], ".");
l += 1;
for (i = 2; w [i] != '>'; v [l++] = w [i++]);
} yy33: goto yyBegin;
case 25:;
case 42:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 175 "yacc.rex" */
{ i = GetWord (w);
(void) strcpy (&v [l], w);
l += i;
if (w [1] == '$') {
r = get_type (0);
} else {
i = atoi (&w [1]);
if (i > 0) r = get_type (i);
else r = 0;
}
if (r) {
StGetString (r, (tString) w);
v [l++] = '.';
(void) strcpy (&v [l], w);
l += strlen (w);
}
} yy34: goto yyBegin;
case 97:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 192 "yacc.rex" */
{ yyStart (String1); v [l++] = '\'';
} yy35: goto yyBegin;
case 23:;
case 63:;
case 69:;
case 78:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 193 "yacc.rex" */
{ l += GetWord (&v [l]);
} yy36: goto yyBegin;
case 96:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 194 "yacc.rex" */
{ yyPrevious; l += GetWord (&v [l]);
} yy37: goto yyBegin;
case 95:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 196 "yacc.rex" */
{ yyStart (String2); v [l++] = '"';
} yy38: goto yyBegin;
case 21:;
case 64:;
case 70:;
case 79:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 197 "yacc.rex" */
{ l += GetWord (&v [l]);
} yy39: goto yyBegin;
case 94:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 198 "yacc.rex" */
{ yyPrevious; l += GetWord (&v [l]);
} yy40: goto yyBegin;
case 93:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 200 "yacc.rex" */
{ yyStart (Comment); l = GetWord (v);
} yy41: goto yyBegin;
case 91:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 201 "yacc.rex" */
{ yyStart (Comment); l += GetWord (&v [l]);
} yy42: goto yyBegin;
case 20:;
case 39:;
case 71:;
case 80:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 202 "yacc.rex" */
{ l += GetWord (&v [l]);
} yy43: goto yyBegin;
case 90:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 203 "yacc.rex" */
{ yyEol (0); l+= GetWord (&v [l]);
if (yyPreviousStart == Action) {
put_action (PutString (v, l)); l = 0;
} else if (yyPreviousStart == STD) {
put_global (PutString (v, l)); l = 0;
} else {
append_text (PutString (v, l)); l = 0;
}
} yy44: goto yyBegin;
case 89:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 211 "yacc.rex" */
{ yyPrevious; l += GetWord (&v [l]);
if (yyStartState == STD) {
v [l++] = '\n'; put_global (PutString (v, l)); l = 0;
}
} yy45: goto yyBegin;
case 22:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 216 "yacc.rex" */
{ v [l++] = '\\'; l += GetWord (&v [l]);
} yy46: goto yyBegin;
case 24:;
case 40:;
case 41:;
case 68:;
case 77:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 218 "yacc.rex" */
{ l += GetWord (&v [l]);
} yy47: goto yyBegin;
case 88:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 219 "yacc.rex" */
{ yyEol (0); l += GetWord (&v [l]);
put_action (PutString (v, l)); l = 0;
} yy48: goto yyBegin;
case 87:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 221 "yacc.rex" */
{ if (--level)
v [l++] = '}';
else {
yyStart (RulePart);
l += GetWord (&v [l]);
l += GetWord (&v [l]);
put_action (PutString (v, l)); l = 0;
Attribute.action = action_list;
return RBRACE;
}
} yy49: goto yyBegin;
case 86:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 233 "yacc.rex" */
{ yyStart (Comment); l += GetWord (&v [l]);
} yy50: goto yyBegin;
case 31:;
case 76:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 234 "yacc.rex" */
{ l += GetWord (&v [l]);
} yy51: goto yyBegin;
case 84:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 235 "yacc.rex" */
{ yyTab; v [l++] = '\t';
} yy52: goto yyBegin;
case 83:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 236 "yacc.rex" */
{ yyEol (0); l += GetWord (&v [l]);
append_text (PutString (v, l)); l = 0;
} yy53: goto yyBegin;
case 19:;
case 72:;
case 81:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 240 "yacc.rex" */
{ l += GetWord (&v [l]);
} yy54: goto yyBegin;
case 82:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 241 "yacc.rex" */
{ yyEol (0); l += GetWord (&v [l]);
put_global (PutString (v, l)); l = 0;
} yy55: goto yyBegin;
case 30:;
/* line 244 "yacc.rex" */
{
} yy56: goto yyBegin;
case 73:;
{/* BlankAction */
while (* yyChBufferIndexReg ++ == ' ') ;
TokenPtr = (char *) -- yyChBufferIndexReg;
yyState = yyStartState;
yyStatePtr = & yyStateStack [1];
goto yyContinue;
} yy57: goto yyBegin;
case 65:;
{/* TabAction */
yyLineStart -= 7 - ((unsigned char *) TokenPtr - yyLineStart - 1) & 0x7; /* % 8 */
} yy58: goto yyBegin;
case 62:;
{/* EolAction */
yyLineCount ++;
yyLineStart = yyChBufferIndexReg - 1;
} yy59: goto yyBegin;
case 1:;
case 2:;
case 3:;
case 4:;
case 5:;
case 6:;
case 7:;
case 8:;
case 9:;
case 10:;
case 11:;
case 12:;
case 13:;
case 14:;
case 15:;
case 16:;
case 17:;
case 18:;
case 26:;
case 43:;
case 44:;
case 45:;
case 50:;
case 51:;
case 52:;
case 53:;
case 54:;
case 55:;
case 56:;
case 57:;
case 58:;
case 59:;
case 85:;
case 92:;
case 108:;
case 110:;
case 115:;
case 116:;
case 117:;
case 118:;
case 120:;
case 121:;
case 122:;
case 123:;
case 125:;
case 126:;
case 127:;
case 129:;
case 130:;
case 131:;
case 133:;
case 134:;
case 135:;
case 137:;
case 138:;
case 139:;
case 140:;
case 141:;
case 142:;
case 143:;
case 145:;
case 146:;
case 147:;
case 148:;
case 150:;
case 151:;
case 152:;
/* non final states */
yyChBufferIndexReg --; /* return character */
break;
case 61:
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = yyChBufferIndexReg - yyLineStart;
/* TokenLength = 1; */
yyChBufferIndex = ++ yyChBufferIndexReg;
{
/* line 77 "yacc.rex" */
(void) GetWord (w);
(void) fprintf (stderr, "%3d, %2d: illegal character: '%s'\n",
Attribute.Position.Line, Attribute.Position.Column, w);
}
goto yyBegin;
case yyDNoState: /* automatic initialization */
yyInitialize ();
yySourceFile = StdIn;
goto yyBegin;
case 60:
yyChBufferIndex = -- yyChBufferIndexReg; /* undo last state transition */
if (-- TokenLength == 0) { /* get previous state */
yyState = yyStartState;
} else {
yyState = * (yyStatePtr - 1);
}
if (yyChBufferIndex != & yyChBufferStart [yyBytesRead]) {
/* end of buffer sentinel in buffer */
if ((yyState = yyEobTrans [yyState]) == yyDNoState) continue;
yyChBufferIndexReg ++;
* yyStatePtr ++ = yyState; /* push state */
goto yyContinue;
}
/* end of buffer reached */
{ /* copy initial part of token in front of the input buffer */
register char * yySource = TokenPtr;
register char * yyTarget = TokenPtr = (char *) & yyChBufferPtr [yyMaxAlign - TokenLength % yyMaxAlign];
if (yySource != yyTarget) {
while (yySource < (char *) yyChBufferIndexReg) * yyTarget ++ = * yySource ++;
yyLineStart += (unsigned char *) yyTarget - yyChBufferStart - yyBytesRead;
yyChBufferStart = (unsigned char *) yyTarget;
} else {
yyChBufferStart = yyChBufferIndexReg;
}
}
if (! yyEof) { /* read buffer and restart */
int yyChBufferFree = (int) Exp2 (Log2 (yyChBufferSize - 4 - yyMaxAlign - TokenLength));
if (yyChBufferFree < yyChBufferSize / 8) {
register int yyDelta;
register unsigned char * yyOldChBufferPtr = yyChBufferPtr;
ExtendArray ((char * *) & yyChBufferPtr, & yyChBufferSize, sizeof (char));
if (yyChBufferPtr == NULL) yyErrorMessage (1);
yyDelta = yyChBufferPtr - yyOldChBufferPtr;
yyChBufferStart += yyDelta;
yyLineStart += yyDelta;
TokenPtr += yyDelta;
yyChBufferFree = (int) Exp2 (Log2 (yyChBufferSize - 4 - yyMaxAlign - TokenLength));
if (yyStateStackSize < yyChBufferSize) {
yyStateRange * yyOldStateStack = yyStateStack;
ExtendArray ((char * *) & yyStateStack, & yyStateStackSize, sizeof (yyStateRange));
if (yyStateStack == NULL) yyErrorMessage (1);
yyStatePtr += yyStateStack - yyOldStateStack;
}
}
yyChBufferIndex = yyChBufferIndexReg = yyChBufferStart;
yyBytesRead = GetLine (yySourceFile, (char *) yyChBufferIndex, yyChBufferFree);
if (yyBytesRead <= 0) { yyBytesRead = 0; yyEof = true; }
yyChBufferStart [yyBytesRead ] = yyEobCh;
yyChBufferStart [yyBytesRead + 1] = '\0';
goto yyContinue;
}
if (TokenLength == 0) { /* end of file reached */
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = yyChBufferIndexReg - yyLineStart;
CloseFile ();
if (yyFileStackPtr == yyFileStack) {
}
if (yyFileStackPtr == yyFileStack) return EofToken;
goto yyBegin;
}
break;
default:
yyErrorMessage (0);
}
}
}
void BeginFile
# if defined __STDC__ | defined __cplusplus
(char * yyFileName)
# else
(yyFileName) char * yyFileName;
# endif
{
yyInitialize ();
yySourceFile = BeginSource (yyFileName);
if (yySourceFile < 0) yyErrorMessage (4);
}
static void yyInitialize ()
{
if (yyFileStackPtr >= yyFileStack + yyFileStackSize) yyErrorMessage (2);
yyFileStackPtr ++; /* push file */
yyFileStackPtr->yySourceFile = yySourceFile ;
yyFileStackPtr->yyEof = yyEof ;
yyFileStackPtr->yyChBufferPtr = yyChBufferPtr ;
yyFileStackPtr->yyChBufferStart = yyChBufferStart ;
yyFileStackPtr->yyChBufferSize = yyChBufferSize ;
yyFileStackPtr->yyChBufferIndex = yyChBufferIndex ;
yyFileStackPtr->yyBytesRead = yyBytesRead ;
yyFileStackPtr->yyLineCount = yyLineCount ;
yyFileStackPtr->yyLineStart = yyLineStart ;
/* initialize file state */
yyChBufferSize = yyInitBufferSize;
MakeArray ((char * *) & yyChBufferPtr, & yyChBufferSize, sizeof (char));
if (yyChBufferPtr == NULL) yyErrorMessage (1);
yyChBufferStart = & yyChBufferPtr [yyMaxAlign];
yyChBufferStart [-1] = yyEolCh; /* begin of line indicator */
yyChBufferStart [ 0] = yyEobCh; /* end of buffer sentinel */
yyChBufferStart [ 1] = '\0';
yyChBufferIndex = yyChBufferStart;
yyEof = false;
yyBytesRead = 0;
yyLineCount = 1;
yyLineStart = & yyChBufferStart [-1];
if (yyStartState == 0) {
yyStartState = STD;
yyStateStack [0] = yyDefaultState; /* stack underflow sentinel */
}
}
void CloseFile ()
{
if (yyFileStackPtr == yyFileStack) yyErrorMessage (3);
CloseSource (yySourceFile);
ReleaseArray ((char * *) & yyChBufferPtr, & yyChBufferSize, sizeof (char));
/* pop file */
yySourceFile = yyFileStackPtr->yySourceFile ;
yyEof = yyFileStackPtr->yyEof ;
yyChBufferPtr = yyFileStackPtr->yyChBufferPtr ;
yyChBufferStart = yyFileStackPtr->yyChBufferStart ;
yyChBufferSize = yyFileStackPtr->yyChBufferSize ;
yyChBufferIndex = yyFileStackPtr->yyChBufferIndex ;
yyBytesRead = yyFileStackPtr->yyBytesRead ;
yyLineCount = yyFileStackPtr->yyLineCount ;
yyLineStart = yyFileStackPtr->yyLineStart ;
yyFileStackPtr --;
}
int GetWord
# if defined __STDC__ | defined __cplusplus
(char * yyWord)
# else
(yyWord) char * yyWord;
# endif
{
register char * yySource = TokenPtr;
register char * yyTarget = yyWord;
register char * yyChBufferIndexReg = (char *) yyChBufferIndex;
do { /* ASSERT word is not empty */
* yyTarget ++ = * yySource ++;
} while (yySource < yyChBufferIndexReg);
* yyTarget = '\0';
return yyChBufferIndexReg - TokenPtr;
}
int GetLower
# if defined __STDC__ | defined __cplusplus
(char * yyWord)
# else
(yyWord) char * yyWord;
# endif
{
register char * yySource = TokenPtr;
register char * yyTarget = yyWord;
register char * yyChBufferIndexReg = (char *) yyChBufferIndex;
do { /* ASSERT word is not empty */
* yyTarget ++ = yyToLower [* yySource ++];
} while (yySource < yyChBufferIndexReg);
* yyTarget = '\0';
return yyChBufferIndexReg - TokenPtr;
}
int GetUpper
# if defined __STDC__ | defined __cplusplus
(char * yyWord)
# else
(yyWord) char * yyWord;
# endif
{
register char * yySource = TokenPtr;
register char * yyTarget = yyWord;
register char * yyChBufferIndexReg = (char *) yyChBufferIndex;
do { /* ASSERT word is not empty */
* yyTarget ++ = yyToUpper [* yySource ++];
} while (yySource < yyChBufferIndexReg);
* yyTarget = '\0';
return yyChBufferIndexReg - TokenPtr;
}
static char input ()
{
if (yyChBufferIndex == & yyChBufferStart [yyBytesRead]) {
if (! yyEof) {
yyLineStart -= yyBytesRead;
yyChBufferIndex = yyChBufferStart = yyChBufferPtr;
yyBytesRead = GetLine (yySourceFile, (char *) yyChBufferIndex,
(int) Exp2 (Log2 (yyChBufferSize)));
if (yyBytesRead <= 0) { yyBytesRead = 0; yyEof = true; }
yyChBufferStart [yyBytesRead ] = yyEobCh;
yyChBufferStart [yyBytesRead + 1] = '\0';
}
}
if (yyChBufferIndex == & yyChBufferStart [yyBytesRead]) return '\0';
else return * yyChBufferIndex ++;
}
void BeginScanner ()
{
}
void CloseScanner ()
{
}
static void yyErrorMessage
# if defined __STDC__ | defined __cplusplus
(int yyErrorCode)
# else
(yyErrorCode) int yyErrorCode;
# endif
{
WritePosition (stderr, Attribute.Position);
switch (yyErrorCode) {
case 0: (void) fprintf (stderr, ": Scanner: internal error\n"); break;
case 1: (void) fprintf (stderr, ": Scanner: out of memory\n"); break;
case 2: (void) fprintf (stderr, ": Scanner: too many nested include files\n"); break;
case 3: (void) fprintf (stderr, ": Scanner: file stack underflow (too many calls of CloseFile)\n"); break;
case 4: (void) fprintf (stderr, ": Scanner: cannot open input file\n"); break;
}
Scanner_Exit ();
}